package com.quanxiaoha.weblog.common.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.quanxiaoha.weblog.common.domain.entity.Article;
import com.quanxiaoha.weblog.common.domain.entity.ArticleContent;
import com.quanxiaoha.weblog.common.domain.entity.Category;
import com.quanxiaoha.weblog.common.domain.query.ArticleListQuery;
import com.quanxiaoha.weblog.common.domain.query.ArticleQuery;
import com.quanxiaoha.weblog.common.domain.query.CategoryQuery;
import com.quanxiaoha.weblog.common.domain.query.CountQuery;
import com.quanxiaoha.weblog.common.domain.vo.ArticleCategoryRelVo;
import com.quanxiaoha.weblog.common.domain.vo.ArticleVo;
import com.quanxiaoha.weblog.common.domain.vo.CategoryVo;
import com.quanxiaoha.weblog.common.domain.vo.ReadNumVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * <p>
 * 文章表 服务类
 * </p>
 *
 * @author Roy
 * @since 2025-06-02
 */
public interface IScheduleArticleService extends IService<Article> {

    List<CategoryVo> categoryList();

    List<ArticleCategoryRelVo> getNumList();

    void saveCategory(CategoryQuery categoryquery);

    void deleteCategory(Integer query);

    Page<ArticleVo> articleList(ArticleListQuery query);

    ArticleVo saveArticle(ArticleQuery query);

    void deleteArticle(Integer query);

    ReadNumVo clock(Integer id);

    String upload(MultipartFile file) throws Exception;

    ArticleVo getCategory();
}
